{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "cf9a11e5",
   "metadata": {},
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3410558f",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "最近 2 年上涨月数/总月数：12/25 | 概率：48.00%\n",
      "最近 3 年上涨月数/总月数：18/37 | 概率：48.65%\n",
      "最近 5 年上涨月数/总月数：27/61 | 概率：44.26%\n",
      "最近 8 年上涨月数/总月数：43/97 | 概率：44.33%\n",
      "最近 10 年上涨月数/总月数：55/121 | 概率：45.45%\n",
      "最近 13 年上涨月数/总月数：74/157 | 概率：47.13%\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAJOCAYAAABm7rQwAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/GU6VOAAAACXBIWXMAAA9hAAAPYQGoP6dpAACC+klEQVR4nOzdeXwT1frH8e8k6UKhZRdEi0BZZRFci7ggm7tcAa+iKHgFRbyKirjjfgX9oeICqKCyuOBV9Lqh4gKiCCIoUFaRfS/Q0ha6pEnm90fJNGkTWpROmvJ5+8pLcnJm8pwzkzOTp2cmhmmapgAAAAAAAAAbOSIdAAAAAAAAAI49JKUAAAAAAABgO5JSAAAAAAAAsB1JKQAAAAAAANiOpBQAAAAAAABsR1IKAAAAAAAAtiMpBQAAAAAAANuRlAIAAAAAAIDtSEoBABCFmjdvrrFjx5YqT01N1bRp0w67rNfrlcfjKdfD7XYrLy/viGLbvXu3srOzlZeXp/z8/DIfeXl52rdvn7xeryTJNM1yLVfy4V/eLz8/X/v37y/3w+12By1fWFiopUuX6uDBg1bZ8uXLlZ6efkT9IUn/+9//9PDDDx9xX1aUX3/9VXPnzi1X3e+++07z5s2TVNQn+fn5Mk3Ten3Lli166qmn5PF4jjiOqVOn6vrrr1dOTk6ZdfPz8yVJO3bs0NixY+V2u5Wbm2vFsnTpUq1fv/6IYwhl8ODBuuWWW8pdPycnR+PGjdOGDRuOyvsDAHCsICkFAECU8Pl81r8TExOVmJgY9Pq2bdv0yy+/qEmTJoddz/nnn6+YmJhyPeLi4nTjjTeWO0aPx6OGDRuqZs2aSkhIULVq1cp8JCQkqF69etq4caMkad26deVaruTjgw8+CIrlscceU+3atcv9ePPNN4OWT09PV6dOnbRq1Sqr7LzzztM777wjSfr44491//33Bz2eeOKJUn2Sn5+ve++9V99++6127dqlTZs2hXxs2LBBq1evVmFhYal1XHfddXK5XGU+/vvf/5ZrO73wwgu67777ylV39uzZ6tatm5566im99dZbqlatmhwOhwzD0CuvvKLt27dr1KhRVv0HHnhAzz33XNA6XnvtNS1cuLDUuj/55BPt2LGj1L5c0sGDB9WuXTvNmTNHW7du1ciRI+Xz+fT0009b++cLL7yg/v37l6tNZcnJydGePXtKld96660688wzS5VnZ2frrrvu0h9//HFU3h8AgGOFK9IBAACA8vn66691zTXX6LffflNcXJycTmfQ6998840aN26s884777DriY2N1bBhw/TMM88ElQ8dOlTXXntt0PIlZx+VxeVyacuWLYqNjVVsbKwMw7BemzJlih5++GEtXbpU9erVs8r9M6Pq168vSYqLi5Mkvffee0pNTS3zPQsKCtS6dWvVrFkzqDwuLk5du3bVnDlzrLI5c+bo+++/15NPPhlUt0mTJoqJibGeFxYWyuFwBMUjFfVdfHy8CgsL9d1332nWrFm6+eabJUkLFizQr7/+qkceeSRo3XfffbfWr19vJbnC8fl8ys/P17p163TSSScFveZyuTRgwABNmTIl7PIul6vM5I5fXFxcULsO55lnnlHjxo319ttva9asWerdu7diY2N12mmnWf3hcDjkcrnk9Xo1bdo0PfbYY9bypmnqww8/1FNPPaXff//d2vaZmZn68ssv9fHHH5cZQ/Xq1fXII4/o5ptvtpKCbrdbr7/+uj799FNJ0uLFizVw4MCw63jttde0f//+Up+bwYMHq1atWkFl1apVC7nvx8fHKz4+vlS5f98pb58CAIAiJKUAAIgSaWlpqlOnjlJSUqwy/xdnp9OpTz/9VDExMRo6dGjQcs2bN9c999xjPXc4HIqJiVGNGjWssp07d+rdd9/VY489FlT+VyQnJ5cq279/v0aPHq27775bzZs3P+zy/qRBw4YNdfzxx8vlcpVKJEhFSZzCwkLr8q3ApJL/uT+x9Oeffyo2NlZLly7Vxx9/rGHDhqmwsFBJSUlWQiI2NtZa9rXXXtPtt98uSTrllFOC1jts2DCtXbtWLpdLjRs31v333y9JeuWVV/T7778H1X355Zc1ceJEvfXWWxo0aNBh2304TqczaKZcOOVNijidTqtvyuO2227TLbfcIper+NTRvx8ZhmElH7/88kvl5eVpwIABVj3DMDRjxgx17NhRAwYM0JdffinDMDRt2jTl5+fr4osvDvmeo0ePtvp24cKF2r9/v66//np99tlnkqS3335bvXr10sKFC1WrVi2tWrVKnTt31v79+yUV7R8Oh8Pavlu2bNGOHTusfSk9PV2zZs3SkCFD5Ha7g7a/n8fjUWFhoapVq3bYfvMvG7gPut1u3Xnnnbr//vvVuHHjsjsZAIBjEJfvAQAQJdLS0rRp0yYZhqFffvlFQ4YMkcvl0jfffKPs7Gx9/fXXGjRokE4//XSdfvrp+uqrr5Sfn68WLVqEXecJJ5wgwzDUqFEjmaapFi1aWEkGwzB02WWXHZXYb7vtNqWnp+uKK644ouX8iZDAmPwPp9OpCy+8MOyyLpfLSiC0aNFCJ510ku6++26tXLlSjRo10kknnaTJkydb9QNndQ0dOtS6fOvXX3+VaZoyTVMNGjTQa6+9pv/7v/8LmSgLTFg8++yzGj58uJ588kktW7YsZBsCH4e79Ky8CaQjSTSVl/8eWi6XSz6fz7oHlz8pGOiVV17R4MGDrSSOX926dTV9+nTNnj1b48ePl9vt1vPPP68HH3xQGzduDHrMmDFDkvSPf/zDWv7PP//UrFmzNG/ePD311FOSpO+//165ubn65ptv9NFHH0kqurzSfzlm3bp1g5Kx//nPf/TWW29p8uTJmjx5sq6++mq1aNFCjz76qOLi4oK2xdSpUzVz5kzFxMSoc+fOR9xnK1euVOfOnfXqq6/q7bffPuLlAQA4VjBTCgCAKDFnzhyNGTNGt9xyi3r27KkbbrhB1157rapXr65JkyYpKSlJDz30kJVcefDBB3XdddepZ8+eYdcZHx8fdhbPoEGDynUD6rK8/vrrQfc6mjNnjsaPH6/p06eXSl6U9Nhjj2nkyJFhZ0qVnB0VyJ+4kooSK7GxsXr//ff12muv6ccff1RhYWHQzJ9A/ns0SUWXd/lnj2VmZgbNEPr99991zjnnSCqabRaoRYsWGjNmjO69917961//0qOPPqo777xTDz/8sJo2baqbbrrJqnv//feHbGOgqVOnaurUqYetcyR27twZlJQzTVMFBQVyOBwaNmyYpKKbh3fu3Fn33HOPRo0apTVr1gTNHAu8Ofzvv/+u77//XpMmTQr5fl27dtX48ePVt29fvfLKK8rNzdV9992n3NxczZkzR926dVODBg00adIkpaSkqHXr1tayAwYMUJ8+fdS3b1+1a9dOK1as0LnnnquWLVvq4osvVvfu3TVgwABNnz5dknThhRfq/PPPD0pKLVq0SIsWLdK///1vq21nnnmm7r//fo0YMUI1atSwPjvDhg3TwYMH9cYbb5S6jC83N1dr1qyRaZpyu93yeDzW7MVdu3Zp+PDhmjhxonr27Knff/+91Ew7AABQjKQUAABRYPny5dq+fbsuueQS1apVS06nU9WqVVPdunV18OBBPfPMM9q/f7/y8vKUkJCgjIwM7dmzp8xL5QJnB/2V18vy+eef6/bbb9dzzz2n4cOHS5IaNWqkn376SRdeeKE+//xzJSUlhV2+rJu2S8W/ylaS1+uVy+XSunXrdODAAblcLu3bt08FBQXavHmzfD6f3G63TjzxxMOuf/LkyTr99NNLxWOapjp16mT9it0rr7wS9IuIV155pfXvrKwsNWzYULVq1VKHDh106623yufzaeTIkZKKLhPz31MrnIEDB5Z5T6kjsX79+qCkjT8pVbNmTSsp1a5dO9155536z3/+I5fLpd69e0squvF4QkKCpKLkjlSUhPvvf/8b8vJNv1tvvVXZ2dn6v//7P/3nP/9RUlKSNmzYoGuvvVZz585VgwYN9Pnnn1vv4/frr7/qpptuUnJysl577TV16dJFbdq00VVXXaWJEydq7ty5uvTSS636O3fuVIMGDYIuydu6davuuusu1atXT9dcc41mz56tf//732rYsKEWLlwYdP+y2NhYud3uoHuf+f32229KTU21+svpdGr79u2SpGuuuUaXXHKJfvzxR5111lnl2g4AABzLSEoBABAF4uLidN9996ldu3ZB5fv379esWbNUr149Va9eXXPnztUll1yiX3/9VbVr1w6b1AlMNt14441hf2Gvb9++fznm9957T4MGDdKTTz6pf/7zn1ZSqlWrVvr222/VtWtXde/eXbNnz1bt2rXDrufJJ58sdfNwqWh20ejRo8Mul52drWrVqum+++7TV199Zc1ukqTOnTvL6/XK7XZrwoQJh23HGWecEbK8rHs8+S9ti4mJ0Z49e6x7G918880qKCjQokWLrLoHDx5UzZo1VVBQIJ/PV2oGmT/5cTSdc845VkItHJfLpdGjR6tz584644wztHXrVhmGYcU3ffp0ffjhh/L5fLrzzjslFSUipaKZUYH3lpKKZhIdd9xxWr58uerWrSupKCEnFV1KKhXdP6rkZYFfffWVrrjiCj3++ON6++23df311+v888/XjBkz9M4776h+/fpB9/PauXOnmjZtGrSOvn376vXXX9egQYNUUFCg5cuX68ILL1RmZqa6deumd955JyiReCT95r+P1cyZM0sl1AAAQHjcUwoAgCjQqlUrjRkzJiiZNG3aNJ100knasWOHfvzxR1166aXWL5F99913Sk1NDTnTKTc317oczTRNvfXWW9Y9kwIfAwcOPOJf35OKZig9+OCDGjBggJ566inde++9peq0a9dOX331ldauXauePXtaX+pDiYuL0+mnn67MzEzr0b1791K/tlfSvn37lJiYqI8++ki7d+/W5s2btWnTJuuxdetWHTx4MOgyulAC7ykV+Kt4Ho9HW7Zs0ZgxYzRmzBh98803Qcu9+OKL1i8Q/vjjj+rfv791z6I77rhDb7/9tvV8xowZGjlypOLj40MmRvbv3y+3223dzynUoyJdccUVOv7445WRkaFq1aopKytL+/fvl8vlsm6uHhcXpzfeeEM5OTkyTdNKNgUaMmSI/vWvf6l+/frW/a82bdokSdZso2rVqpWaPTdw4EDdcMMN+vPPP3XzzTerU6dO2rNnj9q3b69atWpp0qRJSk9P14YNG7R3717t3btXbdu2LfX+N954o+655x4NGjRIZ511lho3bqzatWvrlltu0cMPP2zdNP+v8ifaAABA+ZCUAgAgimzdulUjRozQ8uXLtXPnTk2fPl333HOPEhMT1bdvX7377rvKyMjQRx99pD59+oRcx549e6yZSfn5+brxxhtD3nh76tSpYS+NC2fVqlU666yz9NJLL1mJlnBOP/10ffzxx0pLSzvsL9P57w1Vq1Yt6xHuF/kCbdy4UY0aNZIkde/e3boBduAj3EyhPXv2KCMjQ5J04MCBoJt75+TkaO/evcrNzdXevXs1ZcoUTZkyRb/88kvQOm655Rbt2bNHmZmZOv744/X9999bCbWXXnopKMl29tln64033tCePXtC3hh7//79eu+990K2wf/4KwnE8tq9e7cOHDigffv2KTc313rPbt266cEHH5TD4dD48eOVkpKiPn366I033ii1TX///Xd9/vnn6tevX1D5Dz/8IEnWr+qFMmLECLVv317t2rWT1+vVqFGj1Lp1azVu3FgnnXSSLr/8cp1//vn6+OOPNX/+fDVv3lwNGjQIua7hw4crJiZG+fn51oyse+65R2vXrrVumA4AAOxBUgoAgCgxbNgwNWvWTJ999plq1qyp++67L+jX7Lp06aLmzZurd+/e2rt3b6kv/1LRjak3btxo/UT96tWrrcTIzz//LElatmyZVfbhhx8eUYxNmjTRySefrN9++01XXXVVmfW7d++ud955Ry+++GLYOl6vV16vN2hWkMfjKXWJV0lpaWnWJVwJCQl68skng2aCSUU3eg/lyiuvVIcOHZSUlKR//OMfatKkiZo0aaL9+/fr/vvv16hRo7Rt2zYNGDBAa9as0Zo1a/Twww8HrSMxMVH16tVTrVq1lJWVpZSUFNWqVUs33XST7rnnHj3wwANWki0vL08NGjRQvXr1St3HyDRNrVq1Ss8//3zIGW3+x9G+vC/QpEmTNHDgQF133XUyTVMbN26UVLr/UlNT9eOPP4ZcxyOPPKJLLrkk6BcdDx48qPfee0933nmnJk2apF27doVc9oMPPlBBQYFOOeUUvfjiizpw4ICWL18ul8tl7ecDBgzQxIkT9fbbbx/25v6PPPKIOnTooL179+rxxx+XVHTp4O23325dYnkkSt7gHgAAlB9JKQAAokS7du30+uuva/Xq1UGXkQW6//779dNPP2nYsGEhv2AvXbpUXq9XJ598siQpIyNDw4cPV2xsrBITEyVJSUlJWr58uZ5//nlVr179iGJMSEjQtGnT1LJly3Iv069fv7DtkYrup7R48eKgWUHfffedsrOzwy6zevVqpaen69RTT5WkI74s66efftKBAwc0evRobdu2Tfv379eiRYv08ccfq6CgQC+//LIWL16sDh06lLmurKws5ebmWjN3+vfvr1mzZum0006z6hw4cEDVqlVTXl5eqeUXLFigjIwMnXvuuUfUhqPp008/Dfn+JRNhPXr00AcffBD0q3xS0b2Wvv76a73wwgtB5ffee68aNmyo559/Xuecc47++c9/hp2d98knn2jJkiXauHGjZs+erYceekhXXXWVlXi85pprlJubqw8//FC33npryHV8+eWXevPNNzV58mRNnDhRY8aM0ZIlSyRJL7zwgrp3716+DlHRZ2fEiBFKSUnRgQMHQtbZs2dPyMsYAQBAEZJSAABEiWHDhunGG28MOyMmPz9fEyZMUO3atfXBBx9o7969pep8+umnqlOnjlq3bi23263+/ftr2bJlpW7anZeXp+eee0633nrr377PjqS/dWnZyJEjtWfPnlKPUaNGhV3mv//9r+rUqaP27dtLKrqP1qhRo4IuT5QUMgnk98477+jee+/VihUrJElz587VFVdcoYULF+qTTz5RRkZG0C++heO/Z1J8fLz13j169NCQIUOs5+vWrVP37t1D/nLdCy+8oDZt2li/ABjK0dhG4Wzfvl1LliwJOfMuUF5enurWravs7Gy9//77VvnmzZt1yy236N///ndQsvLRRx/VtGnTNH36dBmGoYkTJ1r3GEtPTy+1/ksvvVTz589XUlKSBg4cqBkzZmjLli369ttvJRXd2L5GjRqKjY0NmbD87bff1L9/fz3zzDPq2LGjLr/8cl1yySWHvcS0pPz8fOXk5OjBBx9UkyZN9N///lfPPvusdV+tkp577jk1btxYBw8eLPd7AABwLOHX9wAAqAK2bNmiq6++Wvn5+frjjz80YMAAnXPOOfrss8/UokULSUVJg+nTp6tPnz7KycnRNddco927d+unn35SjRo1gmZ0XHjhhZo9e7YuuugiOZ1OvfLKK38rvoKCAkn6S7NGEhISlJCQEPb1kgmvnTt36oUXXlDfvn3lchWd6nz//fel6u3bt0979+7VDz/8oP379wfNCvvtt980dOhQTZkyRampqZKKfjXvxx9/1AsvvKDff/9dl19+eVASyePxhLyxfLt27ZSZmRk2/s2bN6tjx45atWpVqdltn3/+uT788ENNnTo15LLLly/XnDlztGXLFnm93lLL//HHH8rLy7NuuO7nn721Zs2aUuv0+XwqKChQmzZtFB8fr6lTp+r000/XiSeeaNUJ7EufzyfTNHXppZcqPj5eAwcO1MMPP6zevXsrKSnJ+jU+fxJx8+bNGjp0qH788UfNnDlTnTp1kiQ1btxYs2fPVq9evXTKKadozJgxuv76660bortcLrVv316fffaZCgoK9MEHH2j58uX6+uuvlZCQoOuuu05nnHGGzjnnHF100UWaOXOmevXqJUmaM2eO/vGPf2jgwIHWrwRK0rhx40rtk263W1u3blXDhg1L9c2cOXO0atUq7d69W2PGjNFNN92kuLg4a3bXZ599Zl1+mZeXpxkzZqhp06ZHPOMQAIBjhgkAAKJOp06dzNdee81MT08377vvPjMhIcG8/PLLzaysLNM0TfPgwYNmr169zISEBPPJJ580vV6vOXbsWFOS+dtvv5k///yzedppp5mbN282TdM0b7nlFvO4444znU6ntQ7TNM3vvvvOfO211/52vKtWrTIlmXPmzCmz7tq1a8td99///reZmppqSjLnzZtnmqZpbt682ezcubO5fPnywy67c+dO0+l0mklJSWa3bt3MzMxM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pJNOMm+88UYzIyMjwpFFt1q1apUaC3755RezefPm5sGDB82vvvrKNAwjQtFFt86dO5uvvfaa9TwjI8Ps0KGDWaNGDTM1NTVofMCRi4+PN8877zzz6aefNtetW1fq9aysLNPhcEQgsujWpEkT84UXXrCe//rrr6ZhGObSpUtN0zTNpUuXmsnJyRGKLrrVq1fPHDNmjJmbm2uuX7/e7NSpk+nz+azXv/vuO7Ndu3YRjDD68R2i4tC3FYe+rTxckU6KofIINYsHR89zzz2n8847T3369NGtt96qJ554QjExMZKk8847T1u2bIlwhNFp27Ztuuiii6znv//+u3r27KmdO3cqJiZGbdu2VePGjbV27VqdeeaZEYw0+l100UVauXKl7r33Xp188skaO3asrrvuukiHFZVcLpc8Hk9QWd26dbV9+3YlJCTo7LPPlmEYEYouui1fvlyXXnqp9bx27drq06ePTjrpJG3evFnnnnuuhg4dqmeeeSaCUUavZcuW6eeff9bcuXOVmpqqlJQUDR06VNdee63i4uIkiRlpf8HOnTvVoEED63mrVq1kGIaaNGkiqWh82LdvX4Sii25ff/217r77bj3//PPq06eP4uPjg8bXli1bavv27RGMMPrxHaLi0LcVh76tPAyTMwegwjkcDuXk5Kh69epau3at+vfvrwMHDujuu+9W69atNXHiRK1bt06//fZbpEONOtdcc43i4+P1n//8R4WFhRo0aJDWrVunCy+8UHfddZd+++03/fvf/9bWrVtVq1atSIcbVf71r38pJydHn376qa699lqr3DAMLVy4UGvWrNGFF16oL7/8MoJRRqe7775bs2bN0sSJE3X22WcrPT1dw4YNk8fj0Zdffqns7GzVqlVLPp8v0qFGnRYtWuj222+3Ln/0er3q2bOn7rrrLl1++eXavHmz7rjjDi6ZPgq8Xq+++eYbvfrqq1q4cKHuuOMODRw4UMnJyey7R+iMM85QYmKi/ve//ykpKUkPP/ywZsyYodTUVA0bNkxvvvmmNmzYoO+//z7SoUatzz77TPfff79Wr16t++67T4MGDZLP59PIkSNVs2ZNvfPOO5EOEQCOSSSlIKnor5r8Vb7iOJ1OZWdnq3r16pKKTuTfeOMNKxnVqVMnTZ48Wa1atYpwpNFn3759GjhwoL7++mv5fD716dNHb7zxhoYPH66P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",
      "text/plain": [
       "<Figure size 1200x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import akshare as ak\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import datetime\n",
    "import numpy as np\n",
    "\n",
    "# ========== 参数设置 ==========\n",
    "symbol = \"中国软件\"\n",
    "year_spans = [2, 3, 5, 8, 10, 13]\n",
    "\n",
    "# ========== 获取数据 ==========\n",
    "today = datetime.datetime.today()\n",
    "full_start_date = (today - pd.DateOffset(years=max(year_spans))).strftime('%Y%m%d')\n",
    "end_date = today.strftime('%Y%m%d')\n",
    "\n",
    "\n",
    "df = ak.stock_zh_a_daily(symbol=\"sh600536\", start_date=full_start_date, end_date=end_date, adjust=\"qfq\")\n",
    "df['date'] = pd.to_datetime(df['date'])  # 用英文字段\n",
    "df = df[['date', 'open', 'close']]  # 保留必要字段\n",
    "df = df.sort_values(\"date\")\n",
    "\n",
    "# ========== 初始化图表数据容器 ==========\n",
    "bar_data = {}  # key: N_YEARS, value: 月份 -> 上涨次数\n",
    "\n",
    "# ========== 各周期上涨统计 ==========\n",
    "for N_YEARS in year_spans:\n",
    "    start_cut = today - pd.DateOffset(years=N_YEARS)\n",
    "    df_cut = df[df[\"date\"] >= start_cut].copy()\n",
    "\n",
    "    # 每月开盘与收盘\n",
    "    monthly_df = df_cut.groupby(df_cut[\"date\"].dt.to_period(\"M\")).agg({\n",
    "        \"open\": \"first\",\n",
    "        \"close\": \"last\"\n",
    "    }).reset_index()\n",
    "\n",
    "    monthly_df[\"month\"] = monthly_df[\"date\"].dt.month\n",
    "    monthly_df[\"up\"] = monthly_df[\"close\"] > monthly_df[\"open\"]\n",
    "\n",
    "    up_counts = monthly_df.groupby(\"month\")[\"up\"].sum()\n",
    "    total_counts = monthly_df.groupby(\"month\")[\"up\"].count()\n",
    "\n",
    "    total_up_count = up_counts.sum()\n",
    "    total_months = len(monthly_df)\n",
    "    overall_up_probability = total_up_count / total_months if total_months else 0\n",
    "\n",
    "    print(f\"最近 {N_YEARS} 年上涨月数/总月数：{total_up_count}/{total_months} | 概率：{overall_up_probability:.2%}\")\n",
    "\n",
    "    # 保存当前周期上涨次数\n",
    "    bar_data[N_YEARS] = up_counts\n",
    "\n",
    "# ========== 合并图表：分组柱状图 ==========\n",
    "plt.figure(figsize=(12, 6))\n",
    "\n",
    "bar_width = 0.12\n",
    "months = np.arange(1, 13)\n",
    "offsets = np.linspace(-bar_width * len(year_spans) / 2, bar_width * len(year_spans) / 2, len(year_spans))\n",
    "\n",
    "for i, N_YEARS in enumerate(year_spans):\n",
    "    counts = bar_data.get(N_YEARS, pd.Series(0, index=range(1, 13)))\n",
    "    counts = counts.reindex(range(1, 13), fill_value=0)\n",
    "    plt.bar(months + offsets[i], counts.values, width=bar_width, label=f\"{N_YEARS}年\")\n",
    "\n",
    "plt.xticks(months, [f\"{m}月\" for m in months], rotation=-90)\n",
    "plt.xlabel(\"月份\")\n",
    "plt.ylabel(\"上涨次数\")\n",
    "plt.title(f\"{symbol} 不同周期每月上涨次数对比\")\n",
    "plt.legend(title=\"周期\")\n",
    "plt.grid(axis='y', linestyle='--', alpha=0.6)\n",
    "plt.tight_layout()\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
